package org.colswe.junitlab.modelo;

import java.util.ArrayList;
import java.util.Collection;

/**
* Clase sistema que maneja la colleccion de festivos
*/
public final class Sistema {

	/** Lista de festivos que se tendran en cuenta en el sistema*/
	private Collection<Festivo> entidades;

	/** instancia del singleton*/
	private static Sistema instancia;

	/** Método para obtener la instancia estatica del sistema*/
	public static synchronized Sistema getInstance(){
		// Se construye el sistema si no existe.
		if (instancia == null){
			//Se instancia un nuevo sistema
			instancia = new Sistema();
		}
		//se devuelve el sistema
		return instancia;
	}

	/**Constructor privado de la clase Sistema para cumplir el patrón Singleton*/
	private Sistema() {
		super();
		entidades = new ArrayList<Festivo>();
	}

	/**
	 * Devuelve la lista de festivos del sistema
	 * @return Coleccion de festivos del sistema
	 * */
	public Collection<Festivo> getEntidades() {
		return entidades;
	}

	/**
	 * Provee la lista de festivos al sistema
	 * @param entidades Lista de festivos del sistema
	 * */
	public void setEntidades(Collection<Festivo> entidades) {
		this.entidades = entidades;
	}

}
